package cn.kgc.javaweb.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 *
 *  HelloServlet  处理http请求  继承HttpServlet
 * @author mosin
 * date 2022/3/15
 * @version 1.0
 */
public class HelloServlet extends HttpServlet {  // hello
    /**
     * 当前类有相对应的请求进行匹配  那么会自动调用service方法
     * @param req   http请求对象   封装前端数据
     * @param resp  http响应对象   将处理的结果响应给前端浏览器
     * @throws ServletException
     * @throws IOException
     * 该方法既可以处理get请求 也可以处理post请求  put  delete
     */
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //请求的接收
        System.out.println("hello servlet");

        /**
         * 响应数据到前端  html    <h1>hello servlet<h1>
         * 1.通过响应对象 resp 获取输出流
         * 2.通过流将响应数据写出
         * 3.关闭流  释放资源
         */
        //设置响应的类型 编码格式 解决中文乱码问题  设置的位置要在获取流之前
        resp.setContentType("text/html;charset=utf-8") ;

        PrintWriter writer = resp.getWriter();
        writer.write("<!DOCTYPE html>");
        writer.write("<html>");
        writer.write("<head>");
        writer.write("<meta charset=\"UTF-8\">");
        writer.write("</head>");
        writer.write("<body>");
        writer.write("<h1>hello servlet</h1>");
        writer.write("<h1>哈喽</h1>");
        writer.write("</body>");
        writer.write("</html>");
        //关闭流
        writer.close();
    }
}
